home *** CD-ROM | disk | FTP | other *** search
-
-
-
- exec(n) Tcl Built-In Commands 7.0
-
-
-
- _________________________________________________________________
-
- NAME
- exec - Invoke subprocess(es)
-
- SYNOPSIS
- exec ?_s_w_i_t_c_h_e_s? _a_r_g ?_a_r_g ...?
- _________________________________________________________________
-
-
- DESCRIPTION
- This command treats its arguments as the specification of
- one or more subprocesses to execute. The arguments take the
- form of a standard shell pipeline where each _a_r_g becomes one
- word of a command, and each distinct command becomes a sub-
- process.
-
- If the initial arguments to exec start with - then they are |
- treated as command-line switches and are not part of the |
- pipeline specification. The following switches are |
- currently supported: |
-
- -keepnew- |
- line ||
- Retains a trailing newline in the pipeline's |
- output. Normally a trailing newline will be |
- deleted. |
-
- -- ||
- Marks the end of switches. The argument fol- |
- lowing this one will be treated as the first |
- _a_r_g even if it starts with a -.
-
- If an _a_r_g (or pair of _a_r_g's) has one of the forms described
- below then it is used by exec to control the flow of input
- and output among the subprocess(es). Such arguments will
- not be passed to the subprocess(es). In forms such as ``< |
- _f_i_l_e_N_a_m_e'' _f_i_l_e_N_a_m_e may either be in a separate argument |
- from ``<'' or in the same argument with no intervening space |
- (i.e. ``<_f_i_l_e_N_a_m_e'').
-
- | Separates distinct commands in the pipeline.
- The standard output of the preceding command
- will be piped into the standard input of the
- next command.
-
- |& Separates distinct commands in the pipeline.
- Both standard output and standard error of
- the preceding command will be piped into the
- standard input of the next command. This
- form of redirection overrides forms such as
- 2> and >&.
-
-
-
- Tcl 1
-
-
-
-
-
-
- exec(n) Tcl Built-In Commands 7.0
-
-
-
- < _f_i_l_e_N_a_m_e The file named by _f_i_l_e_N_a_m_e is opened and used
- as the standard input for the first command
- in the pipeline.
-
- <@ _f_i_l_e_I_d _F_i_l_e_I_d must be the identifier for an open |
- file, such as the return value from a previ- |
- ous call to open. It is used as the standard |
- input for the first command in the pipeline. |
- _F_i_l_e_I_d must have been opened for reading.
-
- << _v_a_l_u_e _V_a_l_u_e is passed to the first command as its
- standard input.
-
- > _f_i_l_e_N_a_m_e Standard output from the last command is
- redirected to the file named _f_i_l_e_N_a_m_e,
- overwriting its previous contents.
-
- 2> _f_i_l_e_N_a_m_e Standard error from all commands in the pipe- |
- line is redirected to the file named |
- _f_i_l_e_N_a_m_e, overwriting its previous contents. |
-
- >& _f_i_l_e_N_a_m_e ||
- Both standard output from the last command |
- and standard error from all commands are |
- redirected to the file named _f_i_l_e_N_a_m_e, |
- overwriting its previous contents.
-
- >> _f_i_l_e_N_a_m_e Standard output from the last command is
- redirected to the file named _f_i_l_e_N_a_m_e,
- appending to it rather than overwriting it.
-
- 2>> _f_i_l_e_N_a_m_e Standard error from all commands in the pipe- |
- line is redirected to the file named |
- _f_i_l_e_N_a_m_e, appending to it rather than |
- overwriting it. |
-
- >>& _f_i_l_e_N_a_m_e ||
- Both standard output from the last command |
- and standard error from all commands are |
- redirected to the file named _f_i_l_e_N_a_m_e, |
- appending to it rather than overwriting it. |
-
- >@ _f_i_l_e_I_d ||
- _F_i_l_e_I_d must be the identifier for an open |
- file, such as the return value from a previ- |
- ous call to open. Standard output from the |
- last command is redirected to _f_i_l_e_I_d's file, |
- which must have been opened for writing. |
-
- 2>@ _f_i_l_e_I_d ||
- _F_i_l_e_I_d must be the identifier for an open |
- file, such as the return value from a |
-
-
-
- Tcl 2
-
-
-
-
-
-
- exec(n) Tcl Built-In Commands 7.0
-
-
-
- previous call to open. Standard error from |
- all commands in the pipeline is redirected to |
- _f_i_l_e_I_d's file. The file must have been |
- opened for writing. |
-
- >&@ _f_i_l_e_I_d ||
- _F_i_l_e_I_d must be the identifier for an open |
- file, such as the return value from a previ- |
- ous call to open. Both standard output from |
- the last command and standard error from all |
- commands are redirected to _f_i_l_e_I_d's file. |
- The file must have been opened for writing.
-
- If standard output has not been redirected then the exec
- command returns the standard output from the last command in
- the pipeline. If any of the commands in the pipeline exit
- abnormally or are killed or suspended, then exec will return
- an error and the error message will include the pipeline's
- output followed by error messages describing the abnormal
- terminations; the errorCode variable will contain additional
- information about the last abnormal termination encountered.
- If any of the commands writes to its standard error file and
- that standard error isn't redirected, then exec will return
- an error; the error message will include the pipeline's
- standard output, followed by messages about abnormal termi-
- nations (if any), followed by the standard error output.
-
- If the last character of the result or error message is a
- newline then that character is normally deleted from the
- result or error message. This is consistent with other Tcl
- return values, which don't normally end with newlines. How- |
- ever, if -keepnewline is specified then the trailing newline |
- is retained.
-
- If standard input isn't redirected with ``<'' or ``<<'' or
- ``<@'' then the standard input for the first command in the
- pipeline is taken from the application's current standard
- input.
-
- If the last _a_r_g is ``&'' then the pipeline will be executed
- in background. In this case the exec command will return a |
- list whose elements are the process identifiers for all of |
- the subprocesses in the pipeline. The standard output from
- the last command in the pipeline will go to the
- application's standard output if it hasn't been redirected,
- and error output from all of the commands in the pipeline
- will go to the application's standard error file unless
- redirected.
-
- The first word in each command is taken as the command name;
- tilde-substitution is performed on it, and if the result
- contains no slashes then the directories in the PATH
-
-
-
- Tcl 3
-
-
-
-
-
-
- exec(n) Tcl Built-In Commands 7.0
-
-
-
- environment variable are searched for an executable by the
- given name. If the name contains a slash then it must refer
- to an executable reachable from the current directory. No
- ``glob'' expansion or other shell-like substitutions are
- performed on the arguments to commands.
-
-
- KEYWORDS
- execute, pipeline, redirection, subprocess
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tcl 4
-
-
-
-